FIG. 1 is a schematic diagram illustrating an exemplary network infrastructure. Referring to FIG. 1, there are plurality of physical computing machines N1, N2, . . . , Nx logically connected to each other. The physical computing machines may be called “nodes” N1, N2, . . . , Nx in the present disclosure, and these nodes N1, N2, . . . , Nx form a network infrastructure 10. For instance, nodes N1, N2, . . . , Nx may be connected with each other via high speed local area network or placed in a blade server cabinet connected with each other via high speed bus connections. The operator of the nodes N1, N2, . . . , Nx may provide services to many users such as users operating on computing devices U1, U2 connected to the network infrastructure 10 via the Internet 11. Usually, each service may include a plurality of processes running in any of the nodes N1, N2, . . . , Nx in the network infrastructure 10, and each node may have multi-core processors for simultaneously running multiple processes.
The conventional domain name service (DNS) relies on DNS server storing the forward address mapping of the domain name of the process/service to the Internet addresses along with port numbers of processes. However, the conventional DNS server relies on fixed duration of DNS updates in which the clients of DNS server are notified of any change in DNS through “PULL” notification/query, and this “PULL” at fixed term may prevent the service instance from on-time detecting any process under itself experiencing failure, being initialized, being suspended, being shut down, being restarted/reboot or being migrated from a current core to another core of the same node or being migrated from one node to another node. In short, the conventional DNS system cannot achieve on-time notification of any changes in the operational status and communication addresses of any process experiencing failures or configuration changes in the network infrastructure 10.
In this context, there is a need for solutions to provide a method or system to manage the plurality of processes of service in a network infrastructure. The solution should at least address how to discover services or how to discover processes, under each service when the processes may experience unexpected failure, being initialized, being suspended, being shut down, are being restarted/rebooted or migrated from the current core to another core of the same node or being migrated from one node to another node.